home *** CD-ROM | disk | FTP | other *** search
- #include "bbs.h"
-
-
- int OpenTimer(void)
- {
- int error;
-
- if(!(TimerPort = CreatePort(0L,0L)))
- return(TRUE);
- if(!(TimerMsg=(struct timerequest *)CreateExtIO(TimerPort,(long)sizeof(struct timerequest))))
- return(TRUE);
- TimerMsg->tr_node.io_Message.mn_ReplyPort=TimerPort;
- if(error = OpenDevice(TIMERNAME,UNIT_VBLANK,TimerMsg,0L)) return(error);
- return(FALSE);
- }
-
- void SetTimer(ULONG secs, ULONG micros)
- {
- TimerMsg->tr_node.io_Command = TR_ADDREQUEST; /* add a new timer request */
- TimerMsg->tr_time.tv_secs = secs; /* seconds */
- TimerMsg->tr_time.tv_micro = micros; /* microseconds */
- TimerMsg->tr_node.io_Message.mn_ReplyPort=TimerPort;
- SendIO(TimerMsg); /* post the request to the timer device */
- }
-
- void CloseTimer(void)
- {
- if(TimerMsg) {
- /*if(!CheckIO(TimerMsg)) AbortIO(TimerMsg);
- WaitIO(TimerMsg);*/
- CloseDevice(TimerMsg);
- DeleteExtIO(TimerMsg);
- if(TimerPort) DeletePort(TimerPort);
- }
- }
-